from tkinter import *
from tkinter.tix import *

# 参考资料 :
# https://blog.csdn.net/qq_38970783/category_9287654.html?spm=1001.2014.3001.5482


def change1(v):
    print(f'{v}')


# 创建窗体
root = Tk()

# 标题
root.title('时光虫洞')

# 大小      # 注意 大小参数的设置 中间用 x来表示
root.geometry('300x400')

# 可缩放
root.resizable(width=True,height=True)


# def add():
#     a = int(entry1.get())
#     b = int(entry2.get())
#     c = a + b
#     label3.config(text = f'{c}')


# 1 文本、图片 Label
# 其中 bg 是文本框内的背景色 width 和 height 是文本背景框的颜色
# 另外xxx.pack()是将xxx嵌入到窗口当中

label1 = Label(root,text='四元空间入口',bg='yellow',bd=8,font=('Arial,8'),width=10,height=5)
label1.pack()

label2 = Label(root,text='星际穿越')
label2.pack()

# text 文本内容
# bg 背景颜色
# bd边框宽度
# font
# width 边框的宽度
# height  边框的高度
# highligtcoloer
# highligtbackground

# 内置图片
# error info hourglass questhead question
# warning gray12 gray25 gray50 gray75
# labelImg = Label(root,bitmap='info')
# labelImg.pack()

# 只能是gif或者是png图片
img1 = PhotoImage(file='火影斑.gif')
labelImg2 = Label(root,image=img1,width=200,height=200)
labelImg2.pack()


# 2.按钮 Button

def add():
    a = int(entry1.get())
    b = int(entry2.get())
    c = a + b
    label3.config(text = f'{c}')

btn = Button(root,text='穿越',command=add,activeforeground='black',activebackground='blue',bg='red',fg='white')
btn.pack()

# 3. 文本框(内容输入)
entry1 = Entry(root,bd=1)
entry1.pack()

entry2 = Entry(root,bd=1)
entry2.pack()

label3 = Label(root)
label3.pack()

# 4. 滑块
scale = Scale(root,from_=0,to=100,orient=HORIZONTAL,command=change1)
scale.pack()
# from_ 对应起始值
# to 终止值
# orient 方向
# commend 执行的函数

# 5.列表
list1 = ['空间保护膜','原子吐息','维度穿越']
listBox1 = Listbox(root)
for i in list1:
    listBox1.insert(0,i)
listBox1.pack()

# 6.下拉框
cb = ComboBox(root,label='请选择初始技能：',editable=True)
for i in list1:
    cb.insert(END,i)
cb.pack()

# 7.单选框
def change2():
    print(sex.get())
sex = StringVar()
sex_male = Radiobutton(root,text='男',variable=sex,value='男',command=change2())
sex_male.pack()
sex_female = Radiobutton(root,text='女',variable=sex,value='女',command=change2())
sex_female.pack()

# 8.复选框
def change3():
    print(fruits.get())
fruits = StringVar()
cb1 = Checkbutton(root,text='太空宠物',variable=fruits,onvalue='携带',offvalue='不携带',command=change3())
cb1.pack()

# 9 创建菜单
def menuNew():
    print('新建文件')
def menuOpen():
    print('打开文件')
def menuSave():
    print('保存文件')
def menuClose():
    print('关闭文件')
# 创建菜单栏
menubar = Menu(root)
# 窗体设置菜单
root.config(menu=menubar)
# 创建文件菜单项
fileMenu = Menu(menubar,tearoff=0)
#将文件菜单项添加到菜单栏
menubar.add_cascade(label='文件',menu=fileMenu)
# 文件菜单 添加子菜单项
fileMenu.add_command(label='新建',command=menuNew())
fileMenu.add_command(label='打开')
fileMenu.add_command(label='保存')
fileMenu.add_command(label='关闭')

# 10 Frame 窗体
frame1 = Frame(root)
frame1.pack()
label21 = Label(frame1,text='姓名:')
entry21 = Entry(frame1)
# 网格布局
label21.grid(row=0,column=0)  #第一行 第一页
entry21.grid(row=0,column=1)  # 第一行 第二列

# 11 LabelFrame
#frame3 = Frame(root)
#frame3.pack()





# 进入消息循环
root.mainloop()